package cc.vvshop.demo2;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import javax.annotation.Resource;

/**
 * Created by tomas on 16-6-16.
 */
@RunWith(SpringJUnit4ClassRunner.class)
//运行时的spring配置文件
@ContextConfiguration("classpath:spring-demo2.xml")
public class AccountServiceImplTest {


    //注入service操作对象 注意注入的对象不同 这里使用的是accountServiceProxy
    //这里使用org.springframework.transaction.interceptor.TransactionProxyFactoryBean
    //来对AccountService来进行增强事务管理
    @Resource(name="accountServiceProxy")
    private AccountService accountService;
    /**
     * @Title: demo1
     * @Description:进行转账操作
     */
    @Test
    public void transfer() throws Exception {
        accountService.transfer("aaa","bbb" ,200);
    }

    @Test
    public void transferNoTranscation() throws Exception {
        accountService.transferNoTranscation("aaa","bbb" ,200);
    }
    /*
     * 该类的阅读测试方式：
     * 				*在对AccountServiceImpl中的int i =1/0;异常部分进行注释和不注释来分别进行执行该方法来查看数据库中
     * 				的事务是否能够完整的完成整个事务过程。
     * 				*一些详细的spring配置详见spring-base2.xml文件
     * */
}